package com.zkthink.ceres.finance.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zkthink.base.R;
import com.zkthink.base.request.PageParams;
import com.zkthink.base.service.SuperService;
import com.zkthink.ceres.finance.dto.*;
import com.zkthink.ceres.finance.entity.CashOutDetail;
import com.zkthink.ceres.finance.vo.CashOutDetailVO;
import com.zkthink.ceres.finance.vo.CashOutTableVo;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 提现明细表
 * </p>
 *
 * @author vivi.huang
 * @date 2020-05-25
 */
public interface CashOutDetailService extends SuperService<CashOutDetail> {

    /**
     * 提现
     * @param collectingAccountSaveDTO
     * @return
     */
    R<Boolean> doCashOut(CashOutDetailSaveDTO collectingAccountSaveDTO);

    /**
     * 提现明细分页
     * @param pageParams
     * @return
     */
    R<IPage<CashOutDetailVO>> findCashOutDetailPage(PageParams<CashOutDetailPageDTO> pageParams);

    /**
     * 提现审核分页
     * @param pageParams
     * @return
     */
    R<IPage<CashOutAuditDTO>> findAuditCashOutDetailPage(PageParams<CashOutAuditPageDTO> pageParams);

    /**
     * 提现审核
     * @param cashOutAuditDTO
     * @return
     */
    R<Boolean> auditCashOut(CashOutAuditDTO cashOutAuditDTO);

    /**
     * 获取提现审核
     * @param id
     * @return
     */
    R<CashOutAuditDTO> getCashOutAudit(Long id);

}
